<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>SFML - Simple and Fast Multimedia Library</title>
        <meta http-equiv="Content-Type" content="text/html;"/>
        <meta charset="utf-8"/>
        <!--<link rel='stylesheet' type='text/css' href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>-->
        <link rel="stylesheet" type="text/css" href="doxygen.css" title="default" media="screen,print" />
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript" src="dynsections.js"></script>
        <link rel="stylesheet" type="text/css" href="search/search.css" />
        <link rel="stylesheet" type="text/css" href="searchOverrides.css" />
        <script type="text/javascript" src="search/searchdata.js"></script>
        <script type="text/javascript" src="search/search.js"></script>
        <script type="text/javascript">
        /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
          $(document).ready(function() { init_search(); });
        /* @license-end */
        </script>
    </head>
    <body>
        <div id="banner-container">
            <div id="banner">
                <span id="sfml">SFML 2.6.1</span>
            </div>
        </div>
        <div id="content">
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <span id="MSearchSelect"                onmouseover="return searchBox.OnSearchSelectShow()"                onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
          <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>sf</b></li><li class="navelem"><a class="el" href="classsf_1_1Utf_3_0116_01_4.html">Utf&lt; 16 &gt;</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classsf_1_1Utf_3_0116_01_4-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">sf::Utf&lt; 16 &gt; Class Reference</div></div>
</div><!--header-->
<div class="contents">

<p>Specialization of the <a class="el" href="classsf_1_1Utf.html" title="Utility class providing generic functions for UTF conversions.">Utf</a> template for UTF-16.  
 <a href="classsf_1_1Utf_3_0116_01_4.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="Utf_8hpp_source.html">SFML/System/Utf.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a17be6fc08e51182e7ac8bf9269dfae37"><td class="memTemplParams" colspan="2">template&lt;typename In &gt; </td></tr>
<tr class="memitem:a17be6fc08e51182e7ac8bf9269dfae37"><td class="memTemplItemLeft" align="right" valign="top">static In&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1Utf_3_0116_01_4.html#a17be6fc08e51182e7ac8bf9269dfae37">decode</a> (In begin, In end, Uint32 &amp;output, Uint32 replacement=0)</td></tr>
<tr class="memdesc:a17be6fc08e51182e7ac8bf9269dfae37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decode a single UTF-16 character.  <br /></td></tr>
<tr class="separator:a17be6fc08e51182e7ac8bf9269dfae37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a516090c84ceec2cfde0a13b6148363bb"><td class="memTemplParams" colspan="2">template&lt;typename Out &gt; </td></tr>
<tr class="memitem:a516090c84ceec2cfde0a13b6148363bb"><td class="memTemplItemLeft" align="right" valign="top">static Out&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1Utf_3_0116_01_4.html#a516090c84ceec2cfde0a13b6148363bb">encode</a> (Uint32 input, Out output, Uint16 replacement=0)</td></tr>
<tr class="memdesc:a516090c84ceec2cfde0a13b6148363bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode a single UTF-16 character.  <br /></td></tr>
<tr class="separator:a516090c84ceec2cfde0a13b6148363bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab899108d77ce088eb001588e84d91525"><td class="memTemplParams" colspan="2">template&lt;typename In &gt; </td></tr>
<tr class="memitem:ab899108d77ce088eb001588e84d91525"><td class="memTemplItemLeft" align="right" valign="top">static In&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1Utf_3_0116_01_4.html#ab899108d77ce088eb001588e84d91525">next</a> (In begin, In end)</td></tr>
<tr class="memdesc:ab899108d77ce088eb001588e84d91525"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advance to the next UTF-16 character.  <br /></td></tr>
<tr class="separator:ab899108d77ce088eb001588e84d91525"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6df8d9be8211ffe1095b3b82eac83f6f"><td class="memTemplParams" colspan="2">template&lt;typename In &gt; </td></tr>
<tr class="memitem:a6df8d9be8211ffe1095b3b82eac83f6f"><td class="memTemplItemLeft" align="right" valign="top">static std::size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1Utf_3_0116_01_4.html#a6df8d9be8211ffe1095b3b82eac83f6f">count</a> (In begin, In end)</td></tr>
<tr class="memdesc:a6df8d9be8211ffe1095b3b82eac83f6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Count the number of characters of a UTF-16 sequence.  <br /></td></tr>
<tr class="separator:a6df8d9be8211ffe1095b3b82eac83f6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a595dc1ea57ecf7aad944964913f0ff"><td class="memTemplParams" colspan="2">template&lt;typename In , typename Out &gt; </td></tr>
<tr class="memitem:a8a595dc1ea57ecf7aad944964913f0ff"><td class="memTemplItemLeft" align="right" valign="top">static Out&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1Utf_3_0116_01_4.html#a8a595dc1ea57ecf7aad944964913f0ff">fromAnsi</a> (In begin, In end, Out output, const std::locale &amp;locale=std::locale())</td></tr>
<tr class="memdesc:a8a595dc1ea57ecf7aad944964913f0ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert an ANSI characters range to UTF-16.  <br /></td></tr>
<tr class="separator:a8a595dc1ea57ecf7aad944964913f0ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a263423929b6f8e4d3ad09b45ac5cb0a1"><td class="memTemplParams" colspan="2">template&lt;typename In , typename Out &gt; </td></tr>
<tr class="memitem:a263423929b6f8e4d3ad09b45ac5cb0a1"><td class="memTemplItemLeft" align="right" valign="top">static Out&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1Utf_3_0116_01_4.html#a263423929b6f8e4d3ad09b45ac5cb0a1">fromWide</a> (In begin, In end, Out output)</td></tr>
<tr class="memdesc:a263423929b6f8e4d3ad09b45ac5cb0a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a wide characters range to UTF-16.  <br /></td></tr>
<tr class="separator:a263423929b6f8e4d3ad09b45ac5cb0a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52293df75893733fe6cf84b8a017cbf7"><td class="memTemplParams" colspan="2">template&lt;typename In , typename Out &gt; </td></tr>
<tr class="memitem:a52293df75893733fe6cf84b8a017cbf7"><td class="memTemplItemLeft" align="right" valign="top">static Out&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1Utf_3_0116_01_4.html#a52293df75893733fe6cf84b8a017cbf7">fromLatin1</a> (In begin, In end, Out output)</td></tr>
<tr class="memdesc:a52293df75893733fe6cf84b8a017cbf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a latin-1 (ISO-5589-1) characters range to UTF-16.  <br /></td></tr>
<tr class="separator:a52293df75893733fe6cf84b8a017cbf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d2bfbdfe46364bd49bca28a410b18f7"><td class="memTemplParams" colspan="2">template&lt;typename In , typename Out &gt; </td></tr>
<tr class="memitem:a6d2bfbdfe46364bd49bca28a410b18f7"><td class="memTemplItemLeft" align="right" valign="top">static Out&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1Utf_3_0116_01_4.html#a6d2bfbdfe46364bd49bca28a410b18f7">toAnsi</a> (In begin, In end, Out output, char replacement=0, const std::locale &amp;locale=std::locale())</td></tr>
<tr class="memdesc:a6d2bfbdfe46364bd49bca28a410b18f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert an UTF-16 characters range to ANSI characters.  <br /></td></tr>
<tr class="separator:a6d2bfbdfe46364bd49bca28a410b18f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42bace5988f7f20497cfdd6025c2d7f2"><td class="memTemplParams" colspan="2">template&lt;typename In , typename Out &gt; </td></tr>
<tr class="memitem:a42bace5988f7f20497cfdd6025c2d7f2"><td class="memTemplItemLeft" align="right" valign="top">static Out&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1Utf_3_0116_01_4.html#a42bace5988f7f20497cfdd6025c2d7f2">toWide</a> (In begin, In end, Out output, wchar_t replacement=0)</td></tr>
<tr class="memdesc:a42bace5988f7f20497cfdd6025c2d7f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert an UTF-16 characters range to wide characters.  <br /></td></tr>
<tr class="separator:a42bace5988f7f20497cfdd6025c2d7f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0cc57ebf48fac584f4d5f3d30a20010"><td class="memTemplParams" colspan="2">template&lt;typename In , typename Out &gt; </td></tr>
<tr class="memitem:ad0cc57ebf48fac584f4d5f3d30a20010"><td class="memTemplItemLeft" align="right" valign="top">static Out&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1Utf_3_0116_01_4.html#ad0cc57ebf48fac584f4d5f3d30a20010">toLatin1</a> (In begin, In end, Out output, char replacement=0)</td></tr>
<tr class="memdesc:ad0cc57ebf48fac584f4d5f3d30a20010"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert an UTF-16 characters range to latin-1 (ISO-5589-1) characters.  <br /></td></tr>
<tr class="separator:ad0cc57ebf48fac584f4d5f3d30a20010"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdd2f31536ce3fba4dfb632dfdd6e4b7"><td class="memTemplParams" colspan="2">template&lt;typename In , typename Out &gt; </td></tr>
<tr class="memitem:afdd2f31536ce3fba4dfb632dfdd6e4b7"><td class="memTemplItemLeft" align="right" valign="top">static Out&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1Utf_3_0116_01_4.html#afdd2f31536ce3fba4dfb632dfdd6e4b7">toUtf8</a> (In begin, In end, Out output)</td></tr>
<tr class="memdesc:afdd2f31536ce3fba4dfb632dfdd6e4b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a UTF-16 characters range to UTF-8.  <br /></td></tr>
<tr class="separator:afdd2f31536ce3fba4dfb632dfdd6e4b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c9744c8f142360a8afebb24da134b34"><td class="memTemplParams" colspan="2">template&lt;typename In , typename Out &gt; </td></tr>
<tr class="memitem:a0c9744c8f142360a8afebb24da134b34"><td class="memTemplItemLeft" align="right" valign="top">static Out&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1Utf_3_0116_01_4.html#a0c9744c8f142360a8afebb24da134b34">toUtf16</a> (In begin, In end, Out output)</td></tr>
<tr class="memdesc:a0c9744c8f142360a8afebb24da134b34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a UTF-16 characters range to UTF-16.  <br /></td></tr>
<tr class="separator:a0c9744c8f142360a8afebb24da134b34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a781174f776a3effb96c1ccd9a4513ab1"><td class="memTemplParams" colspan="2">template&lt;typename In , typename Out &gt; </td></tr>
<tr class="memitem:a781174f776a3effb96c1ccd9a4513ab1"><td class="memTemplItemLeft" align="right" valign="top">static Out&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsf_1_1Utf_3_0116_01_4.html#a781174f776a3effb96c1ccd9a4513ab1">toUtf32</a> (In begin, In end, Out output)</td></tr>
<tr class="memdesc:a781174f776a3effb96c1ccd9a4513ab1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a UTF-16 characters range to UTF-32.  <br /></td></tr>
<tr class="separator:a781174f776a3effb96c1ccd9a4513ab1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Specialization of the <a class="el" href="classsf_1_1Utf.html" title="Utility class providing generic functions for UTF conversions.">Utf</a> template for UTF-16. </p>

<p class="definition">Definition at line <a class="el" href="Utf_8hpp_source.html#l00255">255</a> of file <a class="el" href="Utf_8hpp_source.html">Utf.hpp</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a6df8d9be8211ffe1095b3b82eac83f6f" name="a6df8d9be8211ffe1095b3b82eac83f6f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6df8d9be8211ffe1095b3b82eac83f6f">&#9670;&#160;</a></span>count()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename In &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static std::size_t <a class="el" href="classsf_1_1Utf.html">sf::Utf</a>&lt; 16 &gt;::count </td>
          <td>(</td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>end</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Count the number of characters of a UTF-16 sequence. </p>
<p>This function is necessary for multi-elements encodings, as a single character may use more than 1 storage element, thus the total size can be different from (begin - end).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">begin</td><td>Iterator pointing to the beginning of the input sequence </td></tr>
    <tr><td class="paramname">end</td><td>Iterator pointing to the end of the input sequence</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Iterator pointing to one past the last read element of the input sequence </dd></dl>

</div>
</div>
<a id="a17be6fc08e51182e7ac8bf9269dfae37" name="a17be6fc08e51182e7ac8bf9269dfae37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17be6fc08e51182e7ac8bf9269dfae37">&#9670;&#160;</a></span>decode()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename In &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static In <a class="el" href="classsf_1_1Utf.html">sf::Utf</a>&lt; 16 &gt;::decode </td>
          <td>(</td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Uint32 &amp;&#160;</td>
          <td class="paramname"><em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Uint32&#160;</td>
          <td class="paramname"><em>replacement</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Decode a single UTF-16 character. </p>
<p>Decoding a character means finding its unique 32-bits code (called the codepoint) in the Unicode standard.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">begin</td><td>Iterator pointing to the beginning of the input sequence </td></tr>
    <tr><td class="paramname">end</td><td>Iterator pointing to the end of the input sequence </td></tr>
    <tr><td class="paramname">output</td><td>Codepoint of the decoded UTF-16 character </td></tr>
    <tr><td class="paramname">replacement</td><td>Replacement character to use in case the UTF-8 sequence is invalid</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Iterator pointing to one past the last read element of the input sequence </dd></dl>

</div>
</div>
<a id="a516090c84ceec2cfde0a13b6148363bb" name="a516090c84ceec2cfde0a13b6148363bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a516090c84ceec2cfde0a13b6148363bb">&#9670;&#160;</a></span>encode()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Out &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static Out <a class="el" href="classsf_1_1Utf.html">sf::Utf</a>&lt; 16 &gt;::encode </td>
          <td>(</td>
          <td class="paramtype">Uint32&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Out&#160;</td>
          <td class="paramname"><em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Uint16&#160;</td>
          <td class="paramname"><em>replacement</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Encode a single UTF-16 character. </p>
<p>Encoding a character means converting a unique 32-bits code (called the codepoint) in the target encoding, UTF-16.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">input</td><td>Codepoint to encode as UTF-16 </td></tr>
    <tr><td class="paramname">output</td><td>Iterator pointing to the beginning of the output sequence </td></tr>
    <tr><td class="paramname">replacement</td><td>Replacement for characters not convertible to UTF-16 (use 0 to skip them)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Iterator to the end of the output sequence which has been written </dd></dl>

</div>
</div>
<a id="a8a595dc1ea57ecf7aad944964913f0ff" name="a8a595dc1ea57ecf7aad944964913f0ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a595dc1ea57ecf7aad944964913f0ff">&#9670;&#160;</a></span>fromAnsi()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename In , typename Out &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static Out <a class="el" href="classsf_1_1Utf.html">sf::Utf</a>&lt; 16 &gt;::fromAnsi </td>
          <td>(</td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Out&#160;</td>
          <td class="paramname"><em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::locale &amp;&#160;</td>
          <td class="paramname"><em>locale</em> = <code>std::locale()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Convert an ANSI characters range to UTF-16. </p>
<p>The current global locale will be used by default, unless you pass a custom one in the <em>locale</em> parameter.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">begin</td><td>Iterator pointing to the beginning of the input sequence </td></tr>
    <tr><td class="paramname">end</td><td>Iterator pointing to the end of the input sequence </td></tr>
    <tr><td class="paramname">output</td><td>Iterator pointing to the beginning of the output sequence </td></tr>
    <tr><td class="paramname">locale</td><td>Locale to use for conversion</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Iterator to the end of the output sequence which has been written </dd></dl>

</div>
</div>
<a id="a52293df75893733fe6cf84b8a017cbf7" name="a52293df75893733fe6cf84b8a017cbf7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52293df75893733fe6cf84b8a017cbf7">&#9670;&#160;</a></span>fromLatin1()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename In , typename Out &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static Out <a class="el" href="classsf_1_1Utf.html">sf::Utf</a>&lt; 16 &gt;::fromLatin1 </td>
          <td>(</td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Out&#160;</td>
          <td class="paramname"><em>output</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Convert a latin-1 (ISO-5589-1) characters range to UTF-16. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">begin</td><td>Iterator pointing to the beginning of the input sequence </td></tr>
    <tr><td class="paramname">end</td><td>Iterator pointing to the end of the input sequence </td></tr>
    <tr><td class="paramname">output</td><td>Iterator pointing to the beginning of the output sequence</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Iterator to the end of the output sequence which has been written </dd></dl>

</div>
</div>
<a id="a263423929b6f8e4d3ad09b45ac5cb0a1" name="a263423929b6f8e4d3ad09b45ac5cb0a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a263423929b6f8e4d3ad09b45ac5cb0a1">&#9670;&#160;</a></span>fromWide()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename In , typename Out &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static Out <a class="el" href="classsf_1_1Utf.html">sf::Utf</a>&lt; 16 &gt;::fromWide </td>
          <td>(</td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Out&#160;</td>
          <td class="paramname"><em>output</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Convert a wide characters range to UTF-16. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">begin</td><td>Iterator pointing to the beginning of the input sequence </td></tr>
    <tr><td class="paramname">end</td><td>Iterator pointing to the end of the input sequence </td></tr>
    <tr><td class="paramname">output</td><td>Iterator pointing to the beginning of the output sequence</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Iterator to the end of the output sequence which has been written </dd></dl>

</div>
</div>
<a id="ab899108d77ce088eb001588e84d91525" name="ab899108d77ce088eb001588e84d91525"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab899108d77ce088eb001588e84d91525">&#9670;&#160;</a></span>next()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename In &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static In <a class="el" href="classsf_1_1Utf.html">sf::Utf</a>&lt; 16 &gt;::next </td>
          <td>(</td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>end</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Advance to the next UTF-16 character. </p>
<p>This function is necessary for multi-elements encodings, as a single character may use more than 1 storage element.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">begin</td><td>Iterator pointing to the beginning of the input sequence </td></tr>
    <tr><td class="paramname">end</td><td>Iterator pointing to the end of the input sequence</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Iterator pointing to one past the last read element of the input sequence </dd></dl>

</div>
</div>
<a id="a6d2bfbdfe46364bd49bca28a410b18f7" name="a6d2bfbdfe46364bd49bca28a410b18f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d2bfbdfe46364bd49bca28a410b18f7">&#9670;&#160;</a></span>toAnsi()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename In , typename Out &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static Out <a class="el" href="classsf_1_1Utf.html">sf::Utf</a>&lt; 16 &gt;::toAnsi </td>
          <td>(</td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Out&#160;</td>
          <td class="paramname"><em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>replacement</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::locale &amp;&#160;</td>
          <td class="paramname"><em>locale</em> = <code>std::locale()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Convert an UTF-16 characters range to ANSI characters. </p>
<p>The current global locale will be used by default, unless you pass a custom one in the <em>locale</em> parameter.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">begin</td><td>Iterator pointing to the beginning of the input sequence </td></tr>
    <tr><td class="paramname">end</td><td>Iterator pointing to the end of the input sequence </td></tr>
    <tr><td class="paramname">output</td><td>Iterator pointing to the beginning of the output sequence </td></tr>
    <tr><td class="paramname">replacement</td><td>Replacement for characters not convertible to ANSI (use 0 to skip them) </td></tr>
    <tr><td class="paramname">locale</td><td>Locale to use for conversion</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Iterator to the end of the output sequence which has been written </dd></dl>

</div>
</div>
<a id="ad0cc57ebf48fac584f4d5f3d30a20010" name="ad0cc57ebf48fac584f4d5f3d30a20010"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0cc57ebf48fac584f4d5f3d30a20010">&#9670;&#160;</a></span>toLatin1()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename In , typename Out &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static Out <a class="el" href="classsf_1_1Utf.html">sf::Utf</a>&lt; 16 &gt;::toLatin1 </td>
          <td>(</td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Out&#160;</td>
          <td class="paramname"><em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>replacement</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Convert an UTF-16 characters range to latin-1 (ISO-5589-1) characters. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">begin</td><td>Iterator pointing to the beginning of the input sequence </td></tr>
    <tr><td class="paramname">end</td><td>Iterator pointing to the end of the input sequence </td></tr>
    <tr><td class="paramname">output</td><td>Iterator pointing to the beginning of the output sequence </td></tr>
    <tr><td class="paramname">replacement</td><td>Replacement for characters not convertible to wide (use 0 to skip them)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Iterator to the end of the output sequence which has been written </dd></dl>

</div>
</div>
<a id="a0c9744c8f142360a8afebb24da134b34" name="a0c9744c8f142360a8afebb24da134b34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c9744c8f142360a8afebb24da134b34">&#9670;&#160;</a></span>toUtf16()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename In , typename Out &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static Out <a class="el" href="classsf_1_1Utf.html">sf::Utf</a>&lt; 16 &gt;::toUtf16 </td>
          <td>(</td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Out&#160;</td>
          <td class="paramname"><em>output</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Convert a UTF-16 characters range to UTF-16. </p>
<p>This functions does nothing more than a direct copy; it is defined only to provide the same interface as other specializations of the sf::Utf&lt;&gt; template, and allow generic code to be written on top of it.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">begin</td><td>Iterator pointing to the beginning of the input sequence </td></tr>
    <tr><td class="paramname">end</td><td>Iterator pointing to the end of the input sequence </td></tr>
    <tr><td class="paramname">output</td><td>Iterator pointing to the beginning of the output sequence</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Iterator to the end of the output sequence which has been written </dd></dl>

</div>
</div>
<a id="a781174f776a3effb96c1ccd9a4513ab1" name="a781174f776a3effb96c1ccd9a4513ab1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a781174f776a3effb96c1ccd9a4513ab1">&#9670;&#160;</a></span>toUtf32()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename In , typename Out &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static Out <a class="el" href="classsf_1_1Utf.html">sf::Utf</a>&lt; 16 &gt;::toUtf32 </td>
          <td>(</td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Out&#160;</td>
          <td class="paramname"><em>output</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Convert a UTF-16 characters range to UTF-32. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">begin</td><td>Iterator pointing to the beginning of the input sequence </td></tr>
    <tr><td class="paramname">end</td><td>Iterator pointing to the end of the input sequence </td></tr>
    <tr><td class="paramname">output</td><td>Iterator pointing to the beginning of the output sequence</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Iterator to the end of the output sequence which has been written </dd></dl>

</div>
</div>
<a id="afdd2f31536ce3fba4dfb632dfdd6e4b7" name="afdd2f31536ce3fba4dfb632dfdd6e4b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afdd2f31536ce3fba4dfb632dfdd6e4b7">&#9670;&#160;</a></span>toUtf8()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename In , typename Out &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static Out <a class="el" href="classsf_1_1Utf.html">sf::Utf</a>&lt; 16 &gt;::toUtf8 </td>
          <td>(</td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Out&#160;</td>
          <td class="paramname"><em>output</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Convert a UTF-16 characters range to UTF-8. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">begin</td><td>Iterator pointing to the beginning of the input sequence </td></tr>
    <tr><td class="paramname">end</td><td>Iterator pointing to the end of the input sequence </td></tr>
    <tr><td class="paramname">output</td><td>Iterator pointing to the beginning of the output sequence</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Iterator to the end of the output sequence which has been written </dd></dl>

</div>
</div>
<a id="a42bace5988f7f20497cfdd6025c2d7f2" name="a42bace5988f7f20497cfdd6025c2d7f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42bace5988f7f20497cfdd6025c2d7f2">&#9670;&#160;</a></span>toWide()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename In , typename Out &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static Out <a class="el" href="classsf_1_1Utf.html">sf::Utf</a>&lt; 16 &gt;::toWide </td>
          <td>(</td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">In&#160;</td>
          <td class="paramname"><em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Out&#160;</td>
          <td class="paramname"><em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">wchar_t&#160;</td>
          <td class="paramname"><em>replacement</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Convert an UTF-16 characters range to wide characters. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">begin</td><td>Iterator pointing to the beginning of the input sequence </td></tr>
    <tr><td class="paramname">end</td><td>Iterator pointing to the end of the input sequence </td></tr>
    <tr><td class="paramname">output</td><td>Iterator pointing to the beginning of the output sequence </td></tr>
    <tr><td class="paramname">replacement</td><td>Replacement for characters not convertible to wide (use 0 to skip them)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Iterator to the end of the output sequence which has been written </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="Utf_8hpp_source.html">Utf.hpp</a></li>
</ul>
</div><!-- contents -->
        </div>
        <div id="footer-container">
            <div id="footer">
                SFML is licensed under the terms and conditions of the <a href="https://www.sfml-dev.org/license.php">zlib/png license</a>.<br>
                Copyright &copy; Laurent Gomila &nbsp;::&nbsp;
                Documentation generated by <a href="http://www.doxygen.org/" title="doxygen website">doxygen</a> &nbsp;::&nbsp;
            </div>
        </div>
    </body>
</html>
